﻿#ifndef MEMORYINFO_H
#define MEMORYINFO_H

#include <QBaseEntity>

class MemoryInfo : public QBaseEntity
{
    Q_OBJECT
    // 定义属性
    Q_PROPERTY(QString manufacturer READ getManufacturer WRITE setManufacturer)
    Q_PROPERTY(QString partNumber READ getPartNumber WRITE setPartNumber)
    Q_PROPERTY(QString serialNumber READ getSerialNumber WRITE setSerialNumber)
    Q_PROPERTY(QString memoryType READ getMemoryType WRITE setMemoryType)
    Q_PROPERTY(QString speed READ getSpeed WRITE setSpeed)
    Q_PROPERTY(uint64_t capacity READ getCapacity WRITE setCapacity)
public:
    explicit MemoryInfo(QObject *parent = nullptr);

    QString getManufacturer() const;
    void setManufacturer(const QString &value);

    QString getPartNumber() const;
    void setPartNumber(const QString &value);

    QString getSerialNumber() const;
    void setSerialNumber(const QString &value);

    QString getMemoryType() const;
    void setMemoryType(const QString &value);

    QString getSpeed() const;
    void setSpeed(const QString &value);

    uint64_t getCapacity() const;
    void setCapacity(const uint64_t &value);

private:
    QString manufacturer;//内存模块的制造商。例如："Kingston" 或 "Corsair"。
    QString partNumber;//内存模块的部件号。这是制造商指定的一个标识符，用于识别具体的内存模块型号。
    QString serialNumber;//内存模块的序列号。这是一个唯一的标识符，用于区分同一型号的不同内存条。
    QString memoryType;//内存模块的技术类型。例如："DDR4", "DDR3" 等，表示使用的内存技术标准。
    QString speed;//内存模块的工作速度。表示内存可以运行的最大速率，单位通常是MHz。
    uint64_t capacity; //内存模块的容量。表示该内存条的存储容量，单位byte。
};

#endif // MEMORYINFO_H
